﻿/**********************************************************************
 * @file   FITKHybridJunctionLine.h
 * @brief  混合线连接
 * @author liuzhonghua (liuzhonghuaszch@163.com)
 * @date   2025-01-22
 *********************************************************************/
#ifndef _FITKHybridJunctionLine_H
#define _FITKHybridJunctionLine_H

#include "FITKAbstractJunction.h"

namespace Acoustics
{
    /**
     * @brief  FE线连接
     * @author liuzhonghua (liuzhonghuaszch@163.com)
     * @date   2025-01-22
     */
    class FITKAcousticsModelAPI FITKHybridJunctionLine :public FITKAbstractJunction
    {
        FITKCLASS(Acoustics, FITKHybridJunctionLine);
        Q_OBJECT;
    public:
        /**
         * @brief    构造函数
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2025-01-22
         */
        explicit FITKHybridJunctionLine() = default;
        /**
         * @brief    析构函数
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2025-01-22
         */
        virtual ~FITKHybridJunctionLine() = default;
        /**
         * @brief    获取耦合对象类型
         * @return   JunctionType       对象类型
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2025-01-22
         */
        virtual FITKAbstractJunction::JunctionType getJunctiontType() override;
        /**
         * @brief    设置连接点的数据
         * @param[i] pointIDs 
         * @return   void
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2025-01-22
         */
        void setConnectPiont(QList<int> pointIDs);
        /**
         * @brief    获取连接点的数据
         * @return   QList<int>
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2025-01-22
         */
        QList<int> getConnecctPoint();

    protected:
        /**
         * @brief    更新连接
         * @return   void
         * @author   liuzhonghua (liuzhonghuaszch@163.com)
         * @date     2025-01-22
         */
        virtual void updateConnect() override;
        
    protected:
        /**
         * @brief  连接点的数据
         * @author liuzhonghua (liuzhonghuaszch@163.com)
         * @date   2025-01-22
         */
        QList<int> _connectPointID{};
    };
}

#endif
